/**
 * @Function 数据归集统计服务
 * @ProjectName credit-data-platform
 * @PackageName com.py.credit.service
 * @FileName AchievementCountService.java
 * @Date 2018年5月14日下午2:36:22
 * @Author Min DongXv
 * @Copyright (c) 2018, 金电联行 All Rights Reserved.
 */
package com.py.credit.service;

import java.util.List;
import java.util.Map;

import com.py.credit.entity.AchievementDetails;
import com.py.credit.entity.SysUser;
import com.py.framework.core.common.Page;

/**
 * @Function 数据归集统计服务
 * @ClassName AchievementCountService
 * @Date 11:01 18/7/20
 * @Author Yaos
 */
public interface AchievementService {

	/**
	 * @param columns
	 * @param additionalColumns
	 * @param condition
	 * @param page
	 * @return
	 * @Function 分页查询归集部门统计概述页面
	 * @FileName AchievementCountService.java
	 * @MethodName selectAchievementCountByConditionForPage
	 * @Date 11:01 18/7/20
	 * @Author Yaos
	 */
	public List<Map<String, Object>> selectAchievementCountByConditionForPage(SysUser userInfo, List<String> columns,
			String[] additionalColumns, String condition, Page page);

	/**
	 * @param columns
	 * @param additionalColumns
	 * @param condition
	 * @param page
	 * @param deptID
	 * @return
	 * @Function 分页查询归集部门统计详情页面
	 * @FileName AchievementCountService.java
	 * @MethodName selectAchievementCountForPage
	 * @Date 11:01 18/7/20
	 * @Author Yaos
	 */
	public List<Map<String, Object>> selectAchievementDetailsForPage(SysUser userInfo, List<String> columns,
			String[] additionalColumns, String condition, String dateRange, Page page, Integer deptID);

	/**
	 * @param achievementDetails
	 * @return
	 * @Function 新增归集部门统计数据
	 * @FileName AchievementCountService.java
	 * @MethodName addAchievementCount
	 * @Date 2018年5月14日 下午2:40:24
	 * @Author Min DongXv
	 */
	public int addAchievementDetails(AchievementDetails achievementDetails);

	/**
	 * @return
	 * @Function 定时任务处理归集部门绩效统计详情
	 * @FileName AchievementCountService.java
	 * @MethodName dealAchievementData
	 * @Date 9:57 18/7/24
	 * @Author Yaos
	 */
	public void dealAchievementData();
}
